package com.budwk.app.miniapp.models;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * 雨量容器对象 wx_container
 * ====================================
 * author: bigpig
 * date:2023/3/20 10:46 上午
 **/
@Data
@Table("wx_container")
@ApiModel(description = "雨量容器对象")
public class WxContainer implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 雨量容器id
     */
    @Name
    @Column("container_id")
    @Comment("雨量容器id")
    @ApiModelProperty(description = "雨量容器id")
    @ColDefine(type = ColType.VARCHAR, width = 32)
    private String containerId;

    /**
     * 用户id
     */
    @Column("user_id")
    @Comment("用户id")
    @ApiModelProperty(description = "用户id")
    @ColDefine(type = ColType.VARCHAR, width = 32)
    private String userId;

    /**
     * 容器类型id
     */
    @Column("container_type")
    @Comment("容器类型id")
    @ApiModelProperty(description = "容器类型id")
    @ColDefine(type = ColType.INT, width = 32)
    private Integer containerType;

    /**
     * 经度
     */
    @Column("longitude")
    @Comment("经度")
    @ApiModelProperty(description = "经度")
    @ColDefine(type = ColType.DOUBLE, width = 18, precision = 6)
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @Column("latitude")
    @Comment("纬度")
    @ApiModelProperty(description = "纬度")
    @ColDefine(type = ColType.DOUBLE, width = 18, precision = 6)
    private BigDecimal latitude;

    /**
     * 容量(ml)
     */
    @Column("capacity")
    @Comment("容量(ml)")
    @ApiModelProperty(description = "容量(ml)")
    @ColDefine(type = ColType.DOUBLE, width = 8, precision = 2)
    private BigDecimal capacity;

    /**
     * 已使用(ml)
     */
    @Column("used")
    @Comment("已使用(ml)")
    @ApiModelProperty(description = "已使用(ml)")
    @ColDefine(type = ColType.DOUBLE, width = 8, precision = 2)
    private BigDecimal used;

    /**
     * 剩余(ml)
     */
    @Column("remain")
    @Comment("剩余(ml)")
    @ApiModelProperty(description = "剩余(ml)")
    @ColDefine(type = ColType.DOUBLE, width = 8, precision = 2)
    private BigDecimal remain;

    /**
     * 容器自定义名称
     */
    @Column("name")
    @Comment("容器自定义名称")
    @ApiModelProperty(description = "容器自定义名称")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String name;

    /**
     * 蓄满推送开关(1:开 0:关)
     */
    @Column("fill_flag")
    @Comment("蓄满推送开关(1:开 0:关)")
    @ApiModelProperty(description = "蓄满推送开关(1:开 0:关)")
    @ColDefine(type = ColType.INT, width = 16)
    private Integer fillFlag;

    /**
     * 创建时间
     */
    @Column("create_time")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Timestamp createTime;

    /**
     * 地址
     */
    @Column("address")
    @Comment("地址")
    @ApiModelProperty(description = "地址")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String address;

    /**
     * 详细地址
     */
    @Column("detail_address")
    @Comment("详细地址")
    @ApiModelProperty(description = "详细地址")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String detailAddress;

    /**
     * 开始收集时间
     */
    @Column("start_collect")
    @Comment("开始收集时间")
    @ApiModelProperty(description = "开始收集时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Timestamp startCollect;

    /**
     * 预计收集满时间
     */
    @Column("fill_tm")
    @Comment("预计收集满时间")
    @ApiModelProperty(description = "预计收集满时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Timestamp fillTm;

    /**
     * 当前雨量
     */
    @Column("current_rain")
    @Comment("当前雨量")
    @ApiModelProperty(description = "当前雨量")
    @ColDefine(type = ColType.FLOAT, width = 8, precision = 2)
    private BigDecimal currentRain;

    /**
     * 是否删除(1:删除 0:未删除)
     */
    @Column("del_flag")
    @Comment("当前雨量")
    @ApiModelProperty(description = "当前雨量")
    @ColDefine(type = ColType.INT, width = 16)
    private Integer delFlag;
}
